// 封装一个函数getMax(input), 利用Math.max() 求最大值
const input = [
  { value: 1 },
  { value: 2 },
  { value: 3 },
  { value: 4 },
  { value: 7 },
  { value: 4 },
];
function getMax(input) {
  return Math.max(...input.map(item => item.value))
}
console.log(getMax(input));


// 封装一个函数transform(input2),得到以下结果
const input2 = [
  '生煎',
  '灌汤包',
  '水饺',
  '汉堡',
];
//   结果: [
//   {
//     label: '生煎',
//     value: '生煎',
//   },
//   {
//     label: '灌汤包',
//     value: '灌汤包',
//   },
//   {
//     label: '水饺',
//     value: '水饺',
//   },
//   {
//     label: '汉堡',
//     value: '汉堡',
//   },
// ];
const transform = input2 => input2.map(item => ({ label: item, value: item }))
console.log(transform(input2));



// 封装一个函数transform(input3, mapping) 得到以下结果
const mapping = {
  shengjian: '生煎',
  baozi: '灌汤包',
  jiaozi: '水饺',
  burger: '汉堡',
};
const input3 = [
  {
    label: 'shengjian',
    value: 'shengjian',
  },
  {
    label: 'baozi',
    value: 'baozi',
  },
  {
    label: 'jiaozi',
    value: 'jiaozi',
  },
  {
    label: 'burger',
    value: 'burger',
  },
];
//   结果 = [
//   {
//     label: '生煎',
//     value: 'shengjian',
//   },
//   {
//     label: '灌汤包',
//     value: 'baozi',
//   },
//   {
//     label: '水饺',
//     value: 'jiaozi',
//   },
//   {
//     label: '汉堡',
//     value: 'burger',
//   },
// ];

const transform2 = (input3, mapping) => input3.map(item => ({...item, label: mapping[item.value]}))
console.log(transform2(input3, mapping));


// 封装一个函数obj2str(input4), 将数据转换为以下结果 必须使用Object.keys()方法
const input4 = {
  name: 'zhangsan',
  age: 18,
  sex: 'nan',
};
// 结果 = 'name=zhangsan&age=18&sex=nan';
const obj2str = input4 => Object.keys(input4).map(k => `${k}=${input4[k]}`).join('')
console.log(obj2str(input4));

// 封装函数differenceOf2Arrays(array1, array2)找两个数组间的不同值
function differenceOf2Arrays(array1, array2) {
  // 1. 扁平化数组
  let arr1 = array1.toString().split(',').map(item => Number(item))
  let arr2 = array2.toString().split(',').map(item => Number(item))
  console.log(arr1, arr2);
  // let newArr = []
  // arr1.forEach(item => {
  //   // 如果arr2中不包含arr1的项，就把arr1的这个值push到新数组中去
  //   !arr2.includes(item) && newArr.push(item)
  // });
  // arr2.forEach(item => {
  //   !arr1.includes(item) && newArr.push(item)
  // });
  // return newArr

  return [...arr1, ...arr2].filter(item => !arr1.includes(item) || !arr2.includes(item))
}

console.log(differenceOf2Arrays([1, 2, 3], [100, 2, 1, 10])); // 结果：[3, 10, 100]
console.log(differenceOf2Arrays([1, 2, 3, 4, 5], [1, [2], [3, [[4]]], [5, 6]])); // 结果：[6]


